﻿using Brc_PaaS.Common.Model.Basic;
using Brc_PaaS.Common.Model.RabbitMq;

namespace Brc_PaaS.Core.RabbitMq
{
   public interface IRabbitMqBasic
    {
        /// <summary>
        /// 创建用户
        /// </summary>
        /// <param name="createUserDto"></param>
        /// <returns></returns>
        BaseResponseModel CreateUser(RabbitMqCreateUserDto createUserDto);
        /// <summary>
        /// 删除用户
        /// </summary>
        /// <param name="userName"></param>
        /// <param name="basicRequestDto"></param>
        /// <returns></returns>
        BaseResponseModel DeleteUser(string userName, RabbitMqBasicRequestDto basicRequestDto);
        /// <summary>
        /// 创建虚拟机
        /// </summary>
        /// <param name="createVitrualHostDto"></param>
        /// <returns></returns>
        BaseResponseModel CreateVirtualHost(RabbitMqCreateVitrualHostDto createVitrualHostDto);
        /// <summary>
        /// 删除虚拟机
        /// </summary>
        /// <param name="virtualHostName"></param>
        /// <param name="basicRequestDto"></param>
        BaseResponseModel DeleteVirtualHost(string virtualHostName, RabbitMqBasicRequestDto basicRequestDto);
        /// <summary>
        /// 给用户分配虚拟机的权限
        /// </summary>
        /// <param name="allocatePermissionDto"></param>
        /// <returns></returns>
        BaseResponseModel AllocatePermission(RabbitMqAllocatePermissionDto allocatePermissionDto);
    }
}
